<?php

error_reporting(E_ALL);

/**
 * La declaracion de los metos a usarse dependen directamente de la interface
 *
 * @author Miguel Angel Chavez Obregon
 * @see Funciones exclusivas para el modulo de laboratorio.
Se hace acceso a ellas mediante una interface
 * @version 1.0
 */

if (0 > version_compare(PHP_VERSION, '5')) {
    die('This file was generated for PHP 5');
}

/**
 * include ConexionBD
 *
 * @author Miguel Angel Chavez Obregon
 * @see Funcion con operativas basicas a la base de datos, cualquier metodo que se requiera hacer que no sea directo a la base de datos debera crear una clase que haga extend a esta.
 * @version 1.0
 */
require_once('class.ConexionBD.php');

/**
 * include laboratorio
 *
 * @author Miguel Angel Chavez
 */
require_once('interface.laboratorio.php');

/* user defined includes */
// section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015A2-includes begin
// section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015A2-includes end

/* user defined constants */
// section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015A2-constants begin
// section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015A2-constants end

/**
 * La declaracion de los metos a usarse dependen directamente de la interface
 *
 * @access public
 * @author Miguel Angel Chavez Obregon
 * @see Funciones exclusivas para el modulo de laboratorio.
Se hace acceso a ellas mediante una interface
 * @version 1.0
 */
class funcLab
    extends ConexionBD
        implements laboratorio
{
    // --- ASSOCIATIONS ---


    // --- ATTRIBUTES ---

    // --- OPERATIONS ---

    /**
     * Short description of method listaNoRegistradas
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nEstado
     * @return void
     */
    public function listaNoRegistradas($nEstado)
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015AE begin
            $tabla="";
            $stp=mssql_init("SP_listaNoRegistrados",$this->link);
            mssql_bind($stp,"@nEstado",$nEstado,SQLVARCHAR,false,false,50);
            $ResultSet=mssql_execute($stp);
            while($row=mssql_fetch_object($ResultSet)){
                $tabla.='<tr><td>'.$row->Paciente.'</td>
                          <td>'.$row->nEstado.'</td>
                          <td>'.$row->fRegistro.'</td>
                          <td>'.$row->nFolio.'</td></tr>';
            }
            mssql_free_statement($stp);
            return $tabla;
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015AE end
    }

    /**
     * Short description of method listaMuestras
     *
     * @access public
     * @author Miguel Angel Chavez
     * @return void
     */
    public function listaMuestras()
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015B1 begin
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015B1 end
    }

    /**
     * Short description of method listaMatrizLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int tipoLab
     * @param  int estudio
     * @param  int procedimiento
     * @param  int tecnica
     * @param  int resultado
     * @return void
     */
    public function listaMatrizLab($tipoLab, $estudio, $procedimiento, $tecnica, $resultado)
    {
        // section 10-16-10-1-5977494b:125fa7209e2:-8000:0000000000001066 begin
        if($tipoLab==""){$tipoLab=0;}
        if($estudio==""){$estudio=0;}
        if($procedimiento==""){$procedimiento=0;}
        if($tecnica==""){$tecnica=0;}
        if($resultado==""){$resultado=0;}


        $stp=mssql_init("SP_listaMatrizLab",$this->link);

        mssql_bind($stp,'@tipoLab',$tipoLab,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@estudio',$estudio,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@procedimiento',$procedimiento,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@tecnica',$tecnica,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@resultado',$resultado,SQLVARCHAR,false,false,3);
        //echo "SP_listaMatrizLab ".$tipoLab.','.$estudio.','.$procedimiento.','.$tecnica.','.$resultado;
        $result='';
        
        $resutlSet=mssql_execute($stp);
        While($row=mssql_fetch_object($resutlSet)){
            $result.='<tr><td>'.$row->tipoLab.'</td>
                          <td>'.$row->estudio.'</td>
                          <td>'.$row->procedimiento.'</td>
                          <td>'.$row->tecnica.'</td>
                          <td>'.$row->resultados.'</td><td>';
                        if($row->activo==1)
                        {
                           $cheked='checked="checked"';
                        }else{
                            $cheked='';
                        }
            $result.='<input type="checkbox" name="activo_'.$row->id_adminLab.'" id="a_'.$row->id_adminLab.'" '.$cheked.' value="activo" onclick="activaComMatrizLab(this.id,'."'generales'".','."'laboratorio/guarda_Administracion.php'".');"></input>';
            $result.='</td></tr>';
        }
          mssql_free_statement($stp);
        return $result;

        // section 10-16-10-1-5977494b:125fa7209e2:-8000:0000000000001066 end
    }

    /**
     * Short description of method cmbTipoLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbTipoLab($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-3-22c4a0c3:125b72d558a:-8000:000000000000101B begin
        return $this->creaCombo("SP_cmbTipLab", "nTipoLab",$id, $onChange, $status, $default, $param);
        // section 10-16-10-3-22c4a0c3:125b72d558a:-8000:000000000000101B end
    }

    /**
     * Short description of method cmbRechazo
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbRechazo($id, $onChange, $status, $default, $param)
    {
        // section -64--88--126-55-ec0b0c5:1257e6e7ebb:-8000:0000000000000FE6 begin
        return $this->creaCombo("SP_labMotivoRechazo", "nRechazo",$id,$onChange, $status,$default,$param);
        // section -64--88--126-55-ec0b0c5:1257e6e7ebb:-8000:0000000000000FE6 end
    }

    /**
     * Short description of method cmbDesicion
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbDesicion($id, $onChange, $status, $default, $param)
    {
        // section -64--88-2-19-6e36aafe:1257ca526f4:-8000:0000000000000FDD begin
        return $this->creaCombo("SP_cmbDecision", "nAceptado", $id, $onChange, $status, $default, $param);
        // section -64--88-2-19-6e36aafe:1257ca526f4:-8000:0000000000000FDD end
    }

    /**
     * Short description of method cmbEstados
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEstados($id, $onChange, $status, $default, $param)
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015B3 begin
        return $this->creaCombo("SP_listaEstados", "Estados",$id, $onChange, $status, $default, $param);
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015B3 end
    }

    /**
     * Short description of method cmbEstudio
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEstudio($id, $onChange, $status, $default, $param)
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BA begin
        return $this->creaCombo("SP_cmbEstudio", "nEstudio", $id,$onChange, $status, $default, $param);
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BA end
    }

    /**
     * Short description of method cmbTecnica
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbTecnica($id, $onChange, $status, $default, $param)
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BC begin
        return $this->creaCombo("SP_cmbLabTecnica","nTecnica", $id, $onChange, $status, $default, $param);
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BC end
    }

    /**
     * Short description of method cmbResultado
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbResultado($id, $onChange, $status, $default, $param)
    {
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BE begin
        return $this->creaCombo("SP_cmbCatResultados", "nResultado", $id, $onChange, $status, $default, $param);
        // section -64--88-1-26--28006a08:12569db2888:-8000:00000000000015BE end
    }

    /**
     * Short description of method cmbProcedimiento
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbProcedimiento($id, $onChange, $status, $default, $param)
    {
        // section -64--88--126-44--1c7ad312:125b3ceb948:-8000:0000000000001015 begin
        return $this->creaCombo("SP_cmbProcedimiento", "nProc", $id, $onChange, $status, $default, $param);
        // section -64--88--126-44--1c7ad312:125b3ceb948:-8000:0000000000001015 end
    }

    /**
     * Short description of method datosPaciente
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_principal
     * @return void
     */
    public function datosPaciente($id_principal)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FDD begin
        //echo "SP_datPacientes ". $id_principal;
        $paciente=$this->ejecutaSP("SP_datPacientes", $id_principal);

        $stpSintomas=mssql_init("SP_muestraSintomaPaciente",$this->link);
        mssql_bind($stpSintomas,'@param',$id_principal,SQLVARCHAR,false,false,10);
        $ResSintomas=mssql_execute($stpSintomas);

        $stpCoMorbilidad=mssql_init("SP_muestraCoMorbilidadPaciente",$this->link);
        mssql_bind($stpCoMorbilidad,'@param',$id_principal,SQLVARCHAR,false,false,10);
        $ResCoMor=mssql_execute($stpCoMorbilidad);

       $datPas="<tr><td colspan=\"5\" align=\"center\">DATOS GENERALES DEL PACIENTE</td></tr><tr>";
       $datPas.="<td width=\"136\">Nombre completo:</td>";
       $datPas.="<td width=\"298\"><b>".$paciente['cNombre']." ".$paciente['cPaterno']." ".$paciente['cMaterno']."</b></td>";
       $datPas.="<td width=\"34\">Sexo:</td>";
       $datPas.="<td width=\"95\"><b>".($paciente['nSexo']==1?"HOMBRE":"MUJER")."</b></td>";
       $datPas.="<td width=\"187\">Fecha de Nacimiento:<b>".$paciente['nDias']."/".$paciente['nMeses']."/".$paciente['nAnio']."</b></td>";
       $datPas.="</tr><tr>";
       $datPas.="<td>Entidad de residencia:&nbsp;</td>";
       $datPas.="<td colspan=\"3\"><b>".$paciente['entidad'].",".$paciente['municipio']."</b></td>";
       $datPas.="<td>CURP:<b>".$paciente['curp']."</b></td></tr>";
       $datPas.="<tr><td colspan=\"5\">";
       $datPas.="<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">";
       $datPas.="<tr><td class=\"datos\">Inicio de sintomas:<b>".$paciente['fSintoma_inicial']."</b></td>";
       $datPas.="<td>&nbsp;</td>";
       $datPas.="<td class=\"datos\">Fecha de la muestra:<b>".$paciente['fMuestra']."</b></td></tr>";
       $datPas.="<tr><td colspan=\"3\"  class=\"datos\">SINTOMAS:<span class=\"datos\"><b>";
       While($resulSintoma=mssql_fetch_object($ResSintomas)){$datPas.=$resulSintoma->sintoma.", ";}
       $datPas.="</b></span></td>";
       $datPas.="<tr><td colspan=\"3\"  class=\"datos\">CO-MORBILIDAD:<span class=\"datos\"><b>";
       While($resulCoMorbi=mssql_fetch_object($ResCoMor)){$datPas.=$resulCoMorbi->diagnostico.", ";}
       $datPas.="</b></span></td></tr></table>";
       return $datPas;

        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FDD end
    }

    /**
     * Short description of method buscPaciente
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int idunidad
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int cNombre
     * @param  int cCurp
     * @param  int nFolio
     * @return void
     */
    public function buscPaciente($idunidad, $cPaterno, $cMaterno, $cNombre, $cCurp, $nFolio)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FE0 begin
            $stp=mssql_init("SP_buscaPacienteLab",$this->link);

            mssql_bind($stp,'@paterno',$cPaterno,SQLVARCHAR,false,false,30);
            mssql_bind($stp,'@materno',$cMaterno,SQLVARCHAR,false,false,30);
            mssql_bind($stp,'@nombre',$cNombre,SQLVARCHAR,false,false,30);
            mssql_bind($stp,'@curp',$cCurp,SQLVARCHAR,false,false,30);
            mssql_bind($stp,'@cFolio',$nFolio,SQLVARCHAR,false,false,30);
            mssql_bind($stp,'@nUnidad',$idunidad,SQLVARCHAR,false,false,3);
           $resultSet=mssql_execute($stp);
           $result="";
                    while($datos = mssql_fetch_array($resultSet)){

                            //$fondo = ($fondo=='#f3f3f3'?'#FFFFFF':'#f3f3f3');
                            $result.='<tr bgcolor=#f3f3f3>';
                            $result.='<td class=\'datos\' align=\'center\'>'.$datos[0].'</td>';
                            $result.= '<td><a href=\'#\' onclick=liga("laboratorio/lab_registro.php?id_principal='.$datos["id_reg"].'&t=&estado=&buscador=1","inicio")>'.$datos[1].'</a>';
                            $result.='<td class=\'datos\' align=\'center\'>'.$datos[2].'</td>';
                            if($datos["nStatus"] == 1 ){
                                $result.='<td>COMPLETA</td>';
                            }else{
                                $result.='<td>INCOMPLETA</td>';
                            }
                            $result.='<td>'.$datos["fIngreso"].'</td>';
                            $result.= '<td><a href=\'imp_cedula.php?id_principal='.$datos["id_g"].'\' target=_blank>ver cedula</a></td>';
                            $result.= '<td><a href=\'imp_ficha.php?lav=3&id_principal='.$datos["id_g"].'\' target=_blank>'.$datos["cFolio"].'</a></td>';
                            $result.='</tr>';

                    }
                
                echo $result;
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FE0 end
    }

    /**
     * Short description of method recAuxLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int param
     * @return void
     */
    public function recAuxLab($param)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FE8 begin
        $stp=mssql_init("SP_RecAuxLabRes",$this->link);
        mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,10);
        $result=array();
        $nTecnica=array();
        $nResultado=array();
        $fResultado=array();
        $nProc=array();
        $idResultado=array();
        $fTermino=array();

        $i=0;
        $resultSet=mssql_execute($stp);
        While($row=mssql_fetch_object($resultSet)){

        $result[$i]=$row->nTecnica.'|'.$row->nResultado.'|'.$row->fResultado;
        /*
            echo $i;
               $nTecnica[$i]=$row->nTecnica;
               $nResultado[$i]=$row->nResultado;
               $fResultado[$i]=$row->fResultado;
               //echo $row->nProc;
               if(!isset($row->nProc)){
                   $nProc[$i]=0;
               }else{
                   $nProc[$i]=$row->nProc;
               }
               //echo $nProc[$i];
               $idResultado[$i]=$row->id_resultado;
               $id_dat_registro[$i]=$row->id_dat_registro;
               $fTermino[$i]=$row->fTermino;
               
         *
         */
        $i++;
        }
        //$result[]=array("nTecnica"=>$nTecnica,"nResultado"=>$nResultado,"fResultado"=>$fResultado,"nProc"=>$nProc,"id_resultado"=>$idResultado,"id_dat_registro"=>$id_dat_registro,"fTermino"=>$fTermino);
          mssql_free_statement($stp);
        return $result;
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FE8 end
    }

    /**
     * Short description of method guardDatLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nAceptado
     * @param  int id_Principal
     * @param  int nRechazo
     * @param  int fRecepcion
     * @param  int fTomaMuestra
     * @param  int rol
     * @param  int nEstudio
     * @param  int nFolioLab
     * @param  int nTecnica
     * @param  int nResultado
     * @return void
     */
    public function guardDatLab($nAceptado, $id_Principal, $nRechazo, $fRecepcion, $fTomaMuestra, $rol, $nEstudio, $nFolioLab, $nTecnica, $nResultado)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FEB begin
            $stp=mssql_init("SP_GuardaDatLaboratorio",$this->link);
            mssql_bind($stp,"@nAceptado",$nAceptado,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@nRechazo",$nRechazo,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@id_principal",$id_Principal,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@fRecepcion",$fRecepcion,SQLVARCHAR,false,false,10);
            mssql_bind($stp,"@fTomadeMuestra",$fTomaMuestra,SQLVARCHAR,false,false,10);
            mssql_bind($stp,"@rol",$rol,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@nEstudio",$nEstudio,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@nFolioLab",$nFolioLab,SQLVARCHAR,false,false,10);
            mssql_bind($stp,"@nTecnica",$nTecnica,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@nResultado",$nResultado,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@fResultado",$fResultado,SQLVARCHAR,false,false,2);
            mssql_bind($stp,"@nProc",$nProc,SQLVARCHAR,false,false,2);

//echo "SP_GuardaDatLaboratorio '".$nAceptado."','".$id_Principal."','".$nRechazo."','".$fRecepcion."','".$fTomaMuestra."','".$rol."','".$nEstudio."','".$nFolioLab."','".$nTecnica."','".$nResultado."','".$fResultado."','".$nProc."'";
            $ResultSet=mssql_execute($stp);
            $result=mssql_fetch_object($ResultSet);
            mssql_free_statement($stp);

            return $result->resultado;
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FEB end
    }

    /**
     * Short description of method guardAuxLAb
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_registro
     * @param  int id_dat_laboratorio
     * @param  int nTecnica
     * @param  int nResultado
     * @param  int fResultado
     * @param  int fTermino
     * @param  int nProc
     * @return void
     */
    public function guardAuxLAb($id_registro, $id_dat_laboratorio, $nTecnica, $nResultado, $fResultado, $fTermino, $nProc)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FF7 begin

            $stpA=mssql_init("SP_GuardAuxLabRes",$this->link);
            mssql_bind($stpA,"@id_dat_laboratorio",$id_dat_laboratorio,SQLVARCHAR,false,false,10);
            mssql_bind($stpA,"@idRegistro",$id_registro,SQLVARCHAR,false,false,10);
            mssql_bind($stpA,"@ntecnica",$nTecnica,SQLVARCHAR,false,false,2);
            mssql_bind($stpA,"@nResultado",$nResultado,SQLVARCHAR,false,false,2);
            mssql_bind($stpA,"@nProc",$nProc,SQLVARCHAR,false,false,2);
            mssql_bind($stpA,"@fResultado",$fResultado,SQLVARCHAR,false,10);
            mssql_bind($stpA,"@fTermino",$fTermino,SQLVARCHAR,false,false,10);
           
//echo "SP_GuardAuxLabRes '".$id_registro."','".$id_dat_laboratorio."','".$nTecnica."','".$nResultado."','".$nProc."','".$fResultado."','".$fTermino."'";
           $ResultSet=mssql_execute($stpA);
            $fin=mssql_fetch_object($ResultSet);
            mssql_free_statement($stpA);
            return $fin->resultado;

        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000000FF7 end
    }

    /**
     * Short description of method guardNORegistrados
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int cNombre
     * @param  int nEstado
     * @param  int fRegistro
     * @param  int nFolio
     * @param  int nUsuario
     * @return void
     */
    public function guardNORegistrados($cPaterno, $cMaterno, $cNombre, $nEstado, $fRegistro, $nFolio, $nUsuario)
    {
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000001001 begin
            $stp=mssql_init("SP_GuardaNoRegistrados",$this->link);
            mssql_bind($stp,"@cPaterno",$cPaterno,SQLVARCHAR,false,false,50);
            mssql_bind($stp,"@cMaterno",$cMaterno,SQLVARCHAR,false,false,50);
            mssql_bind($stp,"@cNombre",$cNombre,SQLVARCHAR,false,false,50);
            mssql_bind($stp,"@nEstado",$nEstado,SQLVARCHAR,false,false,3);
            mssql_bind($stp,"@fRegistro",$fRegistro,SQLVARCHAR,false,false,10);
            mssql_bind($stp,"@nFolio",$nFolio,SQLVARCHAR,false,false,10);
            mssql_bind($stp,"@nUsuario",$nUsuario,SQLVARCHAR,false,false,3);
//echo "SP_GuardaNoRegistrados '".$cPaterno."','".$cMaterno."','".$cNombre."','".$nEstado."','".$fRegistro."','".$nFolio."',".$nUsuario;
            $ResultSet=mssql_execute($stp);
            $fin=mssql_fetch_object($ResultSet);
            mssql_free_statement($stp);
            return $fin->resultado;
        // section -64--88--126-55--77749228:1256fe262cf:-8000:0000000000001001 end
    }

    /**
     * Short description of method guardaNvaCombinacion
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int tipoLab
     * @param  int estudio
     * @param  int procedimiento
     * @param  int tecnica
     * @param  int resultado
     * @param  int nUsuario
     * @return void
     * @see Funcion para guardar las nuevas convinaciones de la matriz de resultados para los laboratorios.
     * @version 1.0
     */
    public function guardaNvaCombinacion($tipoLab, $estudio, $procedimiento, $tecnica, $resultado, $nUsuario)
    {
        // section -64--88-2-3--7ec80504:125f533b3d4:-8000:000000000000105C begin
        $param=$tipoLab.'|'.$estudio.'|'.$procedimiento.'|'.$tecnica.'|'.$resultado.'|'.$nUsuario;
        $stp=mssql_init("sp_guardaNvCombinacion",$this->link);
        mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,8000);
        $resultSet=mssql_execute($stp);
        $resp=mssql_fetch_object($resultSet);
        return $resp->Respuesta;

        // section -64--88-2-3--7ec80504:125f533b3d4:-8000:000000000000105C end
    }

    /**
     * Short description of method guardOpcionAdmin
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int dato
     * @param  int opcion
     * @return void
     */
    public function guardOpcionAdmin($dato, $opcion)
    {
        // section 10-16-10-3-22c4a0c3:125b72d558a:-8000:0000000000001021 begin
        
            $stp=mssql_init("SP_GuardaOpcionAdmin",$this->link);
            mssql_bind($stp,"@dato",$dato,SQLVARCHAR,false,false,50);
            mssql_bind($stp,"@opcion",$opcion,SQLVARCHAR,false,false,5);
//echo "SP_GuardaOpcionAdmin ". '"'.$dato.'"'.','.'"'.$opcion.'"';
            $ResultSet=mssql_execute($stp);
            $fin=mssql_fetch_object($ResultSet);
            mssql_free_statement($stp);
            return $fin->Resultado;
        // section 10-16-10-3-22c4a0c3:125b72d558a:-8000:0000000000001021 end
    }

    /**
     * Short description of method GuardaComMatrizLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_adminlab
     * @param  int activo
     * @return void
     */
    public function GuardaComMatrizLab($id_adminlab, $activo)
    {
        // section 10-16-10-1-5977494b:125fa7209e2:-8000:000000000000106D begin
            $stp=mssql_init("SP_GuardaActivaMatrizLab",$this->link);
            mssql_bind($stp,"@id_adminlab",$id_adminlab,SQLVARCHAR,false,false,50);
            mssql_bind($stp,"@activo",$activo,SQLVARCHAR,false,false,5);
            $ResultSet=mssql_execute($stp);
            $fin=mssql_fetch_object($ResultSet);
            mssql_free_statement($stp);
            return $fin->resultado;
        // section 10-16-10-1-5977494b:125fa7209e2:-8000:000000000000106D end
    }

    /**
     * Short description of method labTablaMuestras
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int sector
     * @param  int status
     * @param  int estado
     * @param  int ordena
     * @return void
     */
    public function labTablaMuestras($sector, $status, $estado, $ordena = NULL)
    {
        // section -64--88--126-55-7b7ef4fb:125742fa6ab:-8000:0000000000000FE2 begin
        $stp=mssql_init("SP_enTransitoLab",$this->link);


        mssql_bind($stp,'@id_unidad',$sector,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@nStatus',$status,SQLVARCHAR,false,false,10);
        mssql_bind($stp,'@nEstado',$estado,SQLVARCHAR,false,false,3);
        mssql_bind($stp,'@ordena',$ordena,SQLVARCHAR,false,false,10);
//echo "SP_enTransitoLab ".$sector.",".$status.",".$estado.",".$ordena;
        $result='';
        $resutlSet=mssql_execute($stp);
        While($row=mssql_fetch_object($resutlSet)){
            $result.='<tr><td>'.$row->Unidad.'</td>
                          <td><a href=\'#\' onclick=liga("laboratorio/lab_registro.php?id_principal='.$row->id_registro.'&estado='.$estado.'","inicio")>'.cambiarletras($row->cPaterno).' '.cambiarletras($row->cMaterno).' '.$row->cNombre.'</a></td>
                          <td align="center">'.$row->curp.'</td>
                          <td align="center">'.$row->Muestra.'</td>
                          <td align="center">'.$row->fMuestra.'</td>
                          <td align="center">'.$row->cFolio.'</td>
                          <td align="center">'.$row->nFolio_lab.'</td></tr>';
        }
          mssql_free_statement($stp);
        return $result;
        // section -64--88--126-55-7b7ef4fb:125742fa6ab:-8000:0000000000000FE2 end
    }

    /**
     * Short description of method recMuestraLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_principal
     * @return void
     */
    public function recMuestraLab($id_principal)
    {
        // section -64--88-2-19-6e36aafe:1257ca526f4:-8000:0000000000000FDA begin
            return $this->ejecutaSP("SP_RecMuestraLab", $id_principal);
        // section -64--88-2-19-6e36aafe:1257ca526f4:-8000:0000000000000FDA end
    }

    /**
     * Short description of method recPerfilLabxUnida
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_unidad
     * @return void
     */
    public function recPerfilLabxUnida($id_unidad)
    {
        // section -64--88--126-55-ec0b0c5:1257e6e7ebb:-8000:0000000000000FE3 begin
        return $this->ejecutaSP("SP_recLabPerfilxUnidad", $id_unidad);
        // section -64--88--126-55-ec0b0c5:1257e6e7ebb:-8000:0000000000000FE3 end
    }

    /**
     * Short description of method buscaNoRegistrados
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int cNombre
     * @param  int id_entidad
     * @return void
     */
    public function buscaNoRegistrados($cPaterno, $cMaterno, $cNombre, $id_entidad)
    {
        // section 10-16-10-13-73205ab8:1260b7390d9:-8000:0000000000001071 begin
         $param=$cPaterno."|".$cMaterno."|".$cNombre."|".$id_entidad;

         $stp=mssql_init("sp_busquedaNoRegistrados",$this->link);
         mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,8000);
         $tabla='';
         $ResultSet=mssql_execute($stp);
         while($row=mssql_fetch_object($ResultSet)){
             $tabla.='<tr><td>'.$row->Paciente.'</td>
                          <td>'.$row->Estado.'</td>
                          <td>'.$row->Fecha.'</td>
                          <td>'.$row->Folio.'</td></tr>';
          }
          mssql_free_statement($stp);
          return $tabla;

        // section 10-16-10-13-73205ab8:1260b7390d9:-8000:0000000000001071 end
    }

    /**
     * Short description of method muestraProcedimientos
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nUnidad
     * @param  int id_registro
     * @return void
     */
    public function muestraProcedimientos($nUnidad, $id_registro)
    {
        // section 10-16-10-32--43518e26:126771cad6b:-8000:0000000000001824 begin}

        $auxPaciente=$this->recAuxLab($id_registro);

        $numProc=count($auxPaciente);
        $i=0;
         $stp=mssql_init("SP_muestraProcedimientos",$this->link);
         mssql_bind($stp,'@nUnidad',$nUnidad,SQLVARCHAR,false,false,8);
         $tabla='';
         $ResultSet=mssql_execute($stp);
         while($row=mssql_fetch_object($ResultSet)){
            if($i<$numProc){
                $div_proc="block";
                $auxLab=explode("|", $auxPaciente[$i]);
                if($auxLab[0]!=0){
                    $tecnica=$auxLab[0];
                    $nomTecnica="nTecnicaLabOld";
                    $nomResultado="nResultadoLabOld";
                    $nomfTermino="fTerminoOld";
                    $nomProc="nProcOld";
                    $statusT="disabled=disabled";
                }else{
                    if(isset($_GET["campo"])==""){
                        $tecnica="";
                        $nomTecnica="nTecnicaLabOld";
                        $nomResultado="nResultadoLabOld";
                        $nomfTermino="fTerminoOld";
                        $nomProc="nProcOld";
                        $statusT="disabled=disabled";
                    }else{
                        $tecnica=$_GET["campo"];
                    }
                    $statusT="";
                }
                if($auxLab[1]!=0){
                    $statusR="disabled=disabled";
                    $resultado=$auxLab[1];
                }else{
                    $resultado="";
                    $statusR="";
                }

                 if(strlen($auxLab[2]) > 5){
                       $fTermino_default = $auxLab[2];
                       $statusF="disabled=disbled";
                 }else{
                   $fTermino_default ="";
                   $statusF="";
                 }
            }elseif($i==$numProc){
                $div_proc="block";
                $nomTecnica="nTecnicaLab";
                $nomResultado="nResultadoLab";
                $nomfTermino="fTermino";
                $nomProc="nProc";
               if(isset($_GET["tecnica"])==""){
                        $tecnica="";
                        $statusT="";
                    }else{
                        $tecnica=$_GET["tecnica"];

                        $statusT="";
                    }
                if(isset($_GET["resultado"])==""){
                    //echo "resultado";
                        echo $resultado="";
                        $statusR="";
                    }else{
                       $resultado=$_GET["resultado"];
                        $statusR="";
                    }
                    $fTermino_default ="";
                    $statusF="";
            }else{
                    $div_proc="none";
                    $statusT="";
                    $statusR="";
                    $statusF="disabled=disabled";
            }
             $tabla.='<tr bgcolor="#F3F3F3">
                        <td>
                            <div id=proc_'.$row->id_proc.' style="display:'.$div_proc.'">
                                <table width="743" border="0" align="center" cellpadding="3" cellspacing="3" class="datos cuadro2">
                                    <tr><td colspan="4" align="center">'.$row->procedimiento.'</td></tr>
                                    <tr bgcolor="#F3F3F3">
                                         <td class=\"datos\">T&Eacute;CNICA:*'.$this->cmbTecnicaLab("$nomTecnica",'liga_tec("laboratorio/lab_registro.php?id_principal='.$id_registro.'&estado=","inicio",this.value)',$statusT,$tecnica, $nUnidad, $row->id_proc).'</td>
                                         <td class=\"datos\">RESULTADO:'.$this->cmbResultadoLab("$nomResultado", 'liga_res("laboratorio/lab_registro.php?id_principal='.$id_registro.'&estado=","inicio",this.value,'.$tecnica.')',$statusR, $resultado, $nUnidad,$row->id_proc,$tecnica).'</td>
                                         <td class=\"datos\">FECHA DE TERMINO DEL PROCESO:
                                            <input name="'.$nomfTermino.'" type="text" class="datos" id="'.$nomfTermino.'" onkeyup="this.value=formateafecha(this.value);" size="10" value="'.$fTermino_default.'" '.$statusF.'/>
                                            dd/mm/aaaa
                                            <input type="hidden" id="'.$nomProc.'" name="'.$nomProc.'" value="'.$row->id_proc.'"  '.$statusF.'/>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                         </td>
                      </tr>';
             $i++;
          }
          mssql_free_statement($stp);
          return $tabla;
        // section 10-16-10-32--43518e26:126771cad6b:-8000:0000000000001824 end
    }

    /**
     * Short description of method cmbTecnicaLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int nUnidad
     * @param  int nProc
     * @return void
     */
    public function cmbTecnicaLab($id, $onChange, $status, $default, $nUnidad, $nProc)
    {
        // section 10-16-10-32--43518e26:126771cad6b:-8000:0000000000001828 begin
       if($onChange) $onchange = "onchange='$onChange'"; else $onchange = '';
	$result="<select $onchange name=\"$id\" id=\"$id\" class=\"datos\" $status>\n";
	$result.="<option value=''>--></option>";
       $stpro=mssql_init("SP_cmbTecnica",$this->link);
//echo "SP_cmbTecnica"." '$nUnidad',"." '$nProc'";
           mssql_bind($stpro,'@nUnidad',$nUnidad,SQLVARCHAR,false,false,5);
           mssql_bind($stpro,'@nProc',$nProc,SQLVARCHAR,false,false,5);


       $resultSet=mssql_execute($stpro);
            while ($res=mssql_fetch_array($resultSet,MSSQL_NUM)){
                if (rtrim($default) == rtrim($res[0])) {$selected="selected";} else {$selected="";}
                $result.="<option value=\"$res[0]\" $selected>$res[1]</option>\n";
            }
            mssql_free_statement($stpro);
        return $result;
        // section 10-16-10-32--43518e26:126771cad6b:-8000:0000000000001828 end
    }

    /**
     * Short description of method cmbResultadoLab
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int nUnidad
     * @param  int nProc
     * @param  int nTecnicaLab
     * @return void
     */
    public function cmbResultadoLab($id, $onChange, $status, $default, $nUnidad, $nProc, $nTecnicaLab)
    {
        // section 10-16-10-32--43518e26:126771cad6b:-8000:000000000000182F begin
        if($nTecnicaLab==""){
            $nTecnicaLab=0;
        }
      if($onChange) $onchange = "onchange='$onChange'"; else $onchange = '';
	$result="<select $onchange name=\"$id\" id=\"$id\" class=\"datos\" $status>\n";
	$result.="<option value=''>--></option>";
       $stpro=mssql_init("SP_cmbResultados",$this->link);

           mssql_bind($stpro,'@nUnidad',$nUnidad,SQLVARCHAR,false,false,5);
           mssql_bind($stpro,'@nProc',$nProc,SQLVARCHAR,false,false,5);
           mssql_bind($stpro,'@nTecnica',$nTecnicaLab,SQLVARCHAR,false,false,5);


       $resultSet=mssql_execute($stpro);
            while ($res=mssql_fetch_array($resultSet,MSSQL_NUM)){
                if (rtrim($default) == rtrim($res[0])) {$selected="selected";} else {$selected="";}
                $result.="<option value=\"$res[0]\" $selected>$res[1]</option>\n";
            }
            mssql_free_statement($stpro);
        return $result;

        // section 10-16-10-32--43518e26:126771cad6b:-8000:000000000000182F end
    }

    /**
     * Short description of method ActualizaLaboratorioISSSTE
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_registro
     * @return void
     */
    public function ActualizaLaboratorioISSSTE($id_registro)
    {
        // section 10-16-10-32--69b89d56:1267b671c20:-8000:00000000000010C1 begin
         $stp=mssql_init("SP_ActualizaLaboratorioISSSTE",$this->link);
         mssql_bind($stp,'@nRegistro',$id_registro,SQLVARCHAR,false,false,8);
         $ResultSet=mssql_execute($stp);
         while($row=mssql_fetch_object($ResultSet)){
             $pagina_transferencia =$this->enviaResultadosLabISSSTE($$row->cFolio,$$row->cId_Origen,$$row->nResultadoFinal, $$row->nStatus,date("Ymd"));
              echo "<iframe aling='center' width='300' height='300' src='$pagina_transferencia' frameborder='0'>NOTIFICANDO USMI...</iframe>";
         }
        // section 10-16-10-32--69b89d56:1267b671c20:-8000:00000000000010C1 end
    }

    /**
     * Short description of method enviaResultadosLabISSSTE
     *
     * @access private
     * @author Miguel Angel Chavez
     * @param  int cFolio
     * @param  int cId_Origen
     * @param  int nResultadoFinal
     * @param  int nStatus
     * @param  int fecha
     * @return void
     */
    private function enviaResultadosLabISSSTE($cFolio, $cId_Origen, $nResultadoFinal, $nStatus, $fecha)
    {
        // section 10-16-10-32--69b89d56:1267b671c20:-8000:00000000000010C4 begin
	$mId_Origen = explode("_",$cId_Origen);
	$x = rand(10012,99999);
	switch($mId_Origen[0]){
		case "ISSSTE":
			$pagina_resultados = "http://201.116.34.46/influenza2/loadDataLab.php";
			$parametros ="?folioMuestra=$cFolio&nResultado=$nResultadoFinal&fecha=$fecha&idOrigen=$mId_Origen[1]&nStatus=$nStatus&x=$x";
			$pag = $pagina_resultados.$parametros;
			break;
	}
	return $pag;
        // section 10-16-10-32--69b89d56:1267b671c20:-8000:00000000000010C4 end
    }

    /**
     * Short description of method datPacienteFormResultado
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_registro
     * @return void
     */
    public function datPacienteFormResultado($id_registro)
    {
        // section 10-16-10-38-3871f251:1269a6aa702:-8000:00000000000010CA begin
        return $this->ejecutaSP("SP_datResultLab",$id_registro);
        // section 10-16-10-38-3871f251:1269a6aa702:-8000:00000000000010CA end
    }

    /**
     * Short description of method datAuxFormResultado
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_registo
     * @return void
     */
    public function datAuxFormResultado($id_registo)
    {
        // section 10-16-10-38--3d839080:1269b3e0ea9:-8000:00000000000010CD begin
           $stpro=mssql_init("SP_datAuxResultLab",$this->link);
           mssql_bind($stpro,'@param',$id_registo,SQLVARCHAR,false,false,5);
           $i=0;
           $pvr=array();
           $resultSet=mssql_execute($stpro);
            while ($res=mssql_fetch_object($resultSet)){
                $pvr[$i]=$res->tecnica."|".$res->resultados;
                $i++;
            }
            return $pvr;
        // section 10-16-10-38--3d839080:1269b3e0ea9:-8000:00000000000010CD end
    }

    /**
     * Short description of method datImpCedula
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int id_principal
     * @return void
     */
    public function datImpCedula($id_principal)
    {
        // section 10-16-10-55-2efa0064:126af99fde6:-8000:00000000000010D9 begin
        return $this->ejecutaSP("SP_datImpCedula", $id_principal);
        // section 10-16-10-55-2efa0064:126af99fde6:-8000:00000000000010D9 end
    }

} /* end of class funcLab */

?>